約 5,033,803 件
https://w.atwiki.jp/usb_audio/pages/48.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 96 Pitch Control, etc.) If the request specifies an unknown CS to that endpoint, the control pipe must indicate a stall. For a description of the parameter block for the endpoint Control Selectors, see Section 5.2.3.2.3, “Endpoint Controls.” 5.2.3.2.3 Endpoint Controls 5.2.3.2.3.1 Sampling Frequency Control The Sampling Frequency Control is used to set the initial sampling frequency for an isochronous audio data endpoint. This allows the endpoints’ clock recovery system to lock onto the incoming clock much faster. Adaptive endpoints can benefit from this. The Sampling Frequency Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The settings for the CUR, MIN, and MAX attributes can range from 0 Hz (0x000000) to 8388607 Hz (0x7FFFFF) in steps of 1 Hz (0x0001). The Sampling Frequency Control honors the request to the best of its abilities. If the endpoint operates at a fixed sampling frequency, setting this Control has no effect. If the endpoint supports a discrete number of sampling frequencies, setting the tSampleFreq value to a non-supported value causes the Control to round it to the closest available value. This also happens when the sampling frequency is set outside the range for a continuous sampling frequency endpoint. It will report the rounded setting when queried during a Get Control request. Table 5-58 Sampling Frequency Control Parameter Block Control Selector SAMPLING_FREQ_CONTROL wLength 3 Offset Field Size Value Description 0 tSampleFreq 3 Number The sampling frequency expressed in Hz. 5.2.3.2.3.2 Pitch Control The Pitch Control enables or disables the ability of an adaptive endpoint to dynamically track its sampling frequency. The Control is necessary because the clock recovery circuitry must be informed whether it should allow for relatively large swings in the sampling frequency. A Pitch Control can have only the current setting attribute (CUR). The position of a Pitch Control CUR attribute can be either TRUE or FALSE. Table 5-59 Pitch Control Parameter Block Control Selector PITCH_CONTROL wLength 1 Offset Field Size Value Description 0 bPitchEnable 1 Bool Pitch Control on when TRUE, off when FALSE. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 97 5.2.4 Additional Requests 5.2.4.1 Memory Requests The Host can interact with an addressable Entity (Terminal, Unit or endpoint) within the audio function in a very generic way. The Entity presents a memory space to the Host whose layout depends on the implementation. The Memory request provides full access to this memory space. 5.2.4.1.1 Set Memory Request This request is used to download a parameter block into a particular Entity of the audio function. Table 5-60 Set Memory Request Values bmRequest Type bRequest wValue wIndex wLength Data 00100001B Entity ID and Interface 00100010B SET_MEM Offset Endpoint Length of parameter block Parameter block The bRequest field indicates that the MEM attribute of the Entity is addressed. The wValue field specifies a zero-based offset value that can be used to access only parts of the Entity’s memory space. The layout of the parameter block is implementation dependent. A device is required to reevaluate its memory space at the end of each Set Memory request. 5.2.4.1.2 Get Memory Request This request is used to upload a parameter block from a particular Entity of the audio function. Table 5-61 Get Memory Request Values bmRequest Type bRequest wValue wIndex wLength Data 10100001B Entity ID and Interface 10100010B GET_MEM Offset Endpoint Length of parameter block Parameter block The bRequest field indicates that the MEM attribute of the Entity is addressed. The wValue field specifies a zero-based offset value that can be used to access only parts of the Entity’s parameter space. The layout of the parameter block is implementation dependent. 5.2.4.2 Get Status Request This request is used to retrieve status information from an Entity within the audio function. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 98 Table 5-62 Get Status Request Values bmRequest Type bRequest wValue wIndex wLength Data 10100001B Entity ID and Interface 10100010B GET_STAT Zero Endpoint Status message length Status message The bRequest field contains the GET_STAT constant, defined in Section A.9, “Audio Class-Specific Request Codes.” The wValue field is currently unused and must be set to zero. The wLength field specifies the number of bytes to return. If the status message is longer than the wLength field, only the initial bytes of the status message are returned. If the status message is shorter than the wLength field, the function indicates the end of the control transfer by sending short packet when further data is requested. The contents of the status message is reserved for future use. For the time being, a null packet should be returned in the data stage of the control transfer. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 99 Appendix A. Audio Device Class Codes A.1 Audio Interface Class Code Table A-1 Audio Interface Class Code Audio Interface Class Code Value AUDIO 0x01 A.2 Audio Interface Subclass Codes Table A-2 Audio Interface Subclass Codes Audio Subclass Code Value SUBCLASS_UNDEFINED 0x00 AUDIOCONTROL 0x01 AUDIOSTREAMING 0x02 MIDISTREAMING 0x03 A.3 Audio Interface Protocol Codes Table A-3 Audio Interface Protocol Codes Audio Protocol Code Value PR_PROTOCOL_UNDEFINED 0x00 A.4 Audio Class-Specific Descriptor Types Table A-4 Audio Class-specific Descriptor Types Descriptor Type Value CS_UNDEFINED 0x20 CS_DEVICE 0x21 CS_CONFIGURATION 0x22 CS_STRING 0x23 CS_INTERFACE 0x24 CS_ENDPOINT 0x25 USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 100 A.5 Audio Class-Specific AC Interface Descriptor Subtypes Table A-5 Audio Class-Specific AC Interface Descriptor Subtypes Descriptor Subtype Value AC_DESCRIPTOR_UNDEFINED 0x00 HEADER 0x01 INPUT_TERMINAL 0x02 OUTPUT_TERMINAL 0x03 MIXER_UNIT 0x04 SELECTOR_UNIT 0x05 FEATURE_UNIT 0x06 PROCESSING_UNIT 0x07 EXTENSION_UNIT 0x08 A.6 Audio Class-Specific AS Interface Descriptor Subtypes Table A-6 Audio Class-Specific AS Interface Descriptor Subtypes Descriptor Subtype Value AS_DESCRIPTOR_UNDEFINED 0x00 AS_GENERAL 0x01 FORMAT_TYPE 0x02 FORMAT_SPECIFIC 0x03 A.7 Processing Unit Process Types Table A-7 Processing Unit Process Types wProcessType Value PROCESS_UNDEFINED 0x00 UP/DOWNMIX_PROCESS 0x01 DOLBY_PROLOGIC_PROCESS 0x02 3D_STEREO_EXTENDER_PROCESS 0x03 REVERBERATION_PROCESS 0x04 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/usb_audio/pages/35.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 36 4 Descriptors The following sections describe the standard and class-specific USB descriptors for the Audio Interface Class. 4.1 Device Descriptor Because audio functionality is always considered to reside at the interface level, this class specification does not define a specific audio device descriptor. For audio-only devices, the device descriptor must indicate that class information is to be found at the interface level. Therefore, the bDeviceClass field of the device descriptor must contain zero so that enumeration software looks down at the interface level to determine the Interface Class. The bDeviceSubClass and bDeviceProtocol fields must be set to zero. All other fields of the device descriptor must comply with the definitions in Section 9.6.1, “Descriptor” of the USB Specification. There is no class-specific device descriptor. 4.2 Configuration Descriptor In analogy to the device descriptor, an audio configuration descriptor is applicable only in the case of audio-only devices. It is identical to the standard configuration descriptor defined in Section 9.6.2, “Configuration” of the USB Specification. There is no class-specific configuration descriptor. 4.3 AudioControl Interface Descriptors The AudioControl (AC) interface descriptors contain all relevant information to fully characterize the corresponding audio function. The standard interface descriptor characterizes the interface itself, whereas the class-specific interface descriptor provides pertinent information concerning the internals of the audio function. It specifies revision level information and lists the capabilities of each Unit and Terminal. 4.3.1 Standard AC Interface Descriptor The standard AC interface descriptor is identical to the standard interface descriptor defined in Section 9.6.3, “Interface” of the USB Specification, except that some fields have now dedicated values. Table 4-1 Standard AC Interface Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 9 1 bDescriptorType 1 Constant INTERFACE descriptor type 2 bInterfaceNumber 1 Number Number of interface. A zero-based value identifying the index in the array of concurrent interfaces supported by this configuration. 3 bAlternateSetting 1 Number Value used to select an alternate setting for the interface identified in the prior field. |4|bNumEndpoints|1|Number|Number of endpoints used by this interface (excluding endpoint 0). This number is either 0 or 1 if the optional status interrupt endpoint is present.| USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 37 Offset Field Size Value Description 5 bInterfaceClass 1 Class AUDIO. Audio Interface Class code (assigned by the USB). See Section A.1, “Audio Interface Class Code.” 6 bInterfaceSubClass 1 Subclass AUDIOCONTROL. Audio Interface Subclass code. Assigned by this specification. See Section A.2, “Audio Interface Subclass Codes.” 7 bInterfaceProtocol 1 Protocol Not used. Must be set to 0. 8 iInterface 1 Index Index of a string descriptor that describes this interface. dummy 4.3.2 Class-Specific AC Interface Descriptor The class-specific AC interface descriptor is a concatenation of all the descriptors that are used to fully describe the audio function, i.e. all Unit Descriptors (UDs) and Terminal Descriptors (TDs). The total length of the class-specific AC interface descriptor depends on the number of Units and Terminals in the audio function. Therefore, the descriptor starts with a header that reflects the total length in bytes of the entire class-specific AC interface descriptor in the wTotalLength field. The bcdADC field identifies the release of the Audio Device Class Specification with which this audio function and its descriptors are compliant. The bInCollection field indicates how many AudioStreaming and MIDIStreaming interfaces there are in the Audio Interface Collection to which this AudioControl interface belongs. The baInterfaceNr() array contains the interface numbers of all the AudioStreaming and MIDIStreaming interfaces in the Collection. The bInCollection and baInterfaceNr() fields together provide all necessary information to determine which interfaces together constitute the entire USB interface to the audio function, i.e. describe the Audio Interface Collection. The order in which the Unit and Terminal descriptors are reported is not important because every descriptor can be identified through its bDescriptorType and bDescriptorSubtype field. The bDescriptorType field identifies the descriptor as being a class-specific interface descriptor. The bDescriptorSubtype field further qualifies the exact nature of the descriptor. The following table defines the class-specific AC interface header descriptor. Table 4-2 Class-Specific AC Interface Header Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 8+n 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant HEADER descriptor subtype. 3 bcdADC 2 BCD Audio Device Class Specification Release Number in Binary-Coded Decimal. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 38 Offset Field Size Value Description 5 wTotalLength 2 Number Total number of bytes returned for the class-specific AudioControl interface descriptor. Includes the combined length of this descriptor header and all Unit and Terminal descriptors. 7 bInCollection 1 Number The number of AudioStreaming and MIDIStreaming interfaces in the Audio Interface Collection to which this AudioControl interface belongs n 8 baInterfaceNr(1) 1 Number Interface number of the first AudioStreaming or MIDIStreaming interface in the Collection. … … … … … 8+(n-1) baInterfaceNr(n) 1 Number Interface number of the last AudioStreaming or MIDIStreaming interface in the Collection. This header is followed by one or more Unit and/or Terminal Descriptors. The layout of the descriptors depends on the type of Unit or Terminal they represent. There are seven types of Unit and Terminal Descriptors possible. They are summarized in the following sections. The first four fields are common for all Unit and Terminal Descriptors. They contain the Descriptor Length, Descriptor Type, Descriptor Subtype, and Unit or Terminal ID. Each Unit and Terminal within the audio function is assigned a unique identification number, the Unit ID (UID) or Terminal ID (TID), contained in the bUnitID or bTerminalID field of the descriptor. The value 0x00 is reserved for undefined ID, effectively restricting the total number of addressable Entities in the audio function (both Units and Terminals) to 255. Besides uniquely identifying all addressable Entities in an audio function, the IDs also serve to describe the topology of the audio function; i.e. the bSourceID field of a Unit or Terminal descriptor indicates to which other Unit or Terminal this Unit or Terminal is connected. 4.3.2.1 Input Terminal Descriptor The Input Terminal descriptor (ITD) provides information to the Host that is related to the functional aspects of the Input Terminal. The Input Terminal is uniquely identified by the value in the bTerminalID field. No other Unit or Terminal within the same alternate setting of the AudioControl interface may have the same ID. This value must be passed in the TerminalID field of each request that is directed to the Terminal. The wTerminalType field provides pertinent information about the physical entity that the Input Terminal represents. This could be a USB OUT endpoint, an external Line In connection, a microphone, etc. A complete list of Terminal Type codes is provided in a separate document, USB Audio Terminal Types, that is considered part of this specification. The bAssocTerminal field is used to associate an Output Terminal to this Input Terminal, effectively implementing a bi-directional Terminal pair. If the bAssocTerminal field is used, both associated Terminals must belong to the bi-directional Terminal Type group. If no association exists, the bAssocTerminal field must be set to zero. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 39 The Host software can treat the associated Terminals as being physically related. In many cases, one Terminal can not exist without the other. A typical example of such a Terminal pair is an Input Terminal, which represents the microphone, and an Output Terminal, which represents the earpiece of a headset. The bNrChannels, wChannelConfig and iChannelNames fields together constitute the cluster descriptor. They characterize the cluster that leaves the Input Terminal over the single Output Pin (‘downstream’ connection). For a detailed description of the cluster descriptor, see Section 3.7.2.3, “Audio Channel Cluster Format.” An index to a string descriptor is provided to further describe the Input Terminal. The following table presents an outline of the Input Terminal descriptor. Table 4-3 Input Terminal Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 12 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant INPUT_TERMINAL descriptor subtype. 3 bTerminalID 1 Constant Constant uniquely identifying the Terminal within the audio function. This value is used in all requests to address this Terminal. 4 wTerminalType 2 Constant Constant characterizing the type of Terminal. See USB Audio Terminal Types. 6 bAssocTerminal 1 Constant ID of the Output Terminal to which this Input Terminal is associated. 7 bNrChannels 1 Number Number of logical output channels in the Terminal’s output audio channel cluster. 8 wChannelConfig 2 Bitmap Describes the spatial location of the logical channels. 10 iChannelNames 1 Index Index of a string descriptor, describing the name of the first logical channel. 11 iTerminal 1 Index Index of a string descriptor, describing the Input Terminal. 4.3.2.2 Output Terminal Descriptor The Output Terminal descriptor (OTD) provides information to the Host that is related to the functional aspects of the Output Terminal. The Output Terminal is uniquely identified by the value in the bTerminalID field. No other Unit or Terminal within the same alternate setting of the AudioControl interface may have the same ID. This value must be passed in the UnitID field of each request that is directed to the Terminal. The wTerminalType field provides pertinent information about the physical entity the Output Terminal represents. This could be a USB IN endpoint, an external Line Out connection, a speaker system etc. A USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 40 complete list of Terminal Type codes is provided in a separate document, USB Audio Terminal Types that is considered part of this specification. The bAssocTerminal field is used to associate an Input Terminal to this Output Terminal, effectively implementing a bi-directional Terminal pair. If the bAssocTerminal field is used, both associated Terminals must belong to the bi-directional Terminal Type group. If no association exists, the bAssocTerminal field must be set to zero. The Host software can treat the associated Terminals as being physically related. In many cases, one Terminal can not exist without the other. A typical example of such a Terminal pair is an Input Terminal, which represents the microphone, and an Output Terminal, which represents the earpiece of a headset. The bSourceID field is used to describe the connectivity for this Terminal. It contains the ID of the Unit or Terminal to which this Output Terminal is connected via its Input Pin. The cluster descriptor, describing the logical channels entering the Output Terminal is not repeated here. It is up to the Host software to trace the connection ‘upstream’ to locate the cluster descriptor pertaining to this audio channel cluster. An index to a string descriptor is provided to further describe the Output Terminal. The following table presents an outline of the Output Terminal descriptor. Table 4-4 Output Terminal Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 9 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant OUTPUT_TERMINAL descriptor subtype. 3 bTerminalID 1 Constant Constant uniquely identifying the Terminal within the audio function. This value is used in all requests to address this Terminal. 4 wTerminalType 2 Constant Constant characterizing the type of Terminal. See USB Audio Terminal Types. 6 bAssocTerminal 1 Constant Constant, identifying the Input Terminal to which this Output Terminal is associated. 7 bSourceID 1 Constant ID of the Unit or Terminal to which this Terminal is connected. 8 iTerminal 1 Index Index of a string descriptor, describing the Output Terminal. 4.3.2.3 Mixer Unit Descriptor The Mixer Unit is uniquely identified by the value in the bUnitID field of the Mixer Unit descriptor (MUD). No other Unit or Terminal within the same alternate setting of the AudioControl interface may have the same ID. This value must be passed in the UnitID field of each request that is directed to the Mixer Unit. 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/usb_audio/pages/64.html
原文:Audio Devices Rev. 2.0 Spec and Adopters Agreement(ZIP) Universal Serial Bus Device Class Definition for Audio Data Formats Release 2.0 May 31, 2006 21 Setting and encoded data streams (IEC61937) in another Alternate Setting of the interface. Note however that the external connection could also be vendor specific (like a parallel data interface). 2.3.4.1 Type IV Format Type Descriptor The bFormatType field indicates this is a Type IV descriptor. Table 2-5 Type IV Format Type Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 4 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant FORMAT_TYPE descriptor subtype. 3 bFormatType 1 Constant FORMAT_TYPE_IV. Constant identifying the Format Type the AudioStreaming interface is using. 2.3.4.2 Type IV Supported Formats This specification supports all Audio Data Formats on an external connection that are defined on a USB pipe (Type I, II, and III). See Section 2.3.1.7, “Type I Supported Formats”, Section 2.3.2.8, “Type II Supported Formats”, and Section 2.3.3.2, “Type III Supported Formats”. The bit allocations in the bmFormats field of the class-specific AS interface descriptor for the different Type IV Audio Data Formats can be found in Appendix A.2.4, “Audio Data Format Type IV Bit Allocations.” 2.4 Extended Audio Data Formats Extended Audio Data Formats add support for a Packet Header to the previously defined Simple Audio Data Formats Type I, II, and III. For the Extended Audio Data Format Type I, an additional optional synchronous Control Channel is defined. 2.4.1 Extended Type I Formats Extended Audio Data Format Type I adds support for both a Packet Header and a synchronous Control Channel to the Simple Type I Format definition. All three elements (Packet Header, audio data, and Control Channel) of an Extended Type I packet are optional. The Extended Format Type I descriptor (see further) indicates which elements are present. It is therefore possible to provide only a Control Channel, without Packet Header or audio data. The following figure further illustrates the concept. Universal Serial Bus Device Class Definition for Audio Data Formats Release 2.0 May 31, 2006 22 ここに画像 Figure 2-3 Extended Type I Format Each Virtual Frame Packet (VFP) can start with an optional Packet Header. If Packet Headers are used, they must be present in every VFP. The length of the Packet Header must be the same for every VFP. The Packet Header is then followed by a number of Extended Audio Slots. An Extended Audio Slot is the concatenation of a Control Word, followed by the Type I Audio Slot. The Control Channel therefore consists of a stream of Control Words, where each Control Word is synchronous to its associated Audio Slot. There are as many Control Channel Words per VFP as there are Audio Slots in the VFP. The byte size of the Control Words is independent of the Audio Subslot size and is the same for each Audio Slot. 2.4.1.1 Extended Type I Format Type Descriptor The first part of the Extended Type I Format Type descriptor is identical to the Simple Type I Format Type descriptor (See Section 2.3.1.6, “Type I Format Type Descriptor”.) Three additional fields are added to describe the Packet Header and the Control Channel. The bHeaderLength field indicates the number of bytes contained in the Packet Header. The bControlSize field indicates the size in bytes of each Control Channel Word in the stream. The bSideBandProtocol field contains a constant identifying the Side Band Protocol that is used for the Packet Header and Control Channel. This specification defines a number of Side Band Protocols (See Section 2.4.4, “Side Band Protocols”). If the Packet Header is not used, then the bHeaderLength field must be set to 0. Likewise, if the Control Channel is not implemented, then the bControlSize field must be set to 0. If the stream does not contain actual audio data, the bNrChannels, bmChannelConfig and iChannelNames in the class-specific AS Interface descriptor (See the USB Audio Device Class document) must all be set to 0. Table 2-6 Extended Type I Format Type Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 9 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant FORMAT_TYPE descriptor subtype. 3 bFormatType 1 Constant EXT_FORMAT_TYPE_I. Constant identifying the Format Type the AudioStreaming interface is using. 4 bSubslotSize 1 Number The number of bytes occupied by one audio subslot. Can be 1, 2, 3 or 4. Universal Serial Bus Device Class Definition for Audio Data Formats Release 2.0 May 31, 2006 23 Offset Field Size Value Description 5 bBitResolution 1 Number The number of effectively used bits from the available bits in an audio subslot. 6 bHeaderLength 1 Number Size of the Packet Header, in bytes. 7 bControlSize 1 Number Size of the Control Channel Words, in bytes. 8 bSideBandProtocol 1 Constant Constant, identifying the Side Band Protocol used for the Packet Header and Control Channel content. 2.4.2 Extended Type II Formats Extended Audio Data Format Type II adds support for a Packet Header to the Simple Type II Format definition. The elements (Packet Header and audio data) of an Extended Type II packet are optional. The Extended Format Type II descriptor (see further) indicates which elements are present. It is therefore possible to provide only a Packet Header without audio data. The following figure further illustrates the concept. ここに画像 Figure 2-4 Extended Type II Format Each Virtual Frame Packet (VFP) can start with an optional Packet Header. If Packet Headers are used, they must be present in every VFP. The length of the Packet Header must be the same for every VFP. The Packet Header is then followed by the actual encoded audio frame data. 2.4.2.1 Extended Type II Format Type Descriptor The first part of the Extended Type II Format Type descriptor is identical to the Simple Type II Format Type descriptor (See Section 2.3.2.6, “Type II Format Type Descriptor”.) Two additional fields are added to describe the Packet Header. The bHeaderLength field indicates the number of bytes contained in the Packet Header. The bSideBandProtocol field contains a constant identifying the Side Band Protocol that is used for the Packet Header. This specification defines a number of Side Band Protocols (See Section 2.4.4, “Side Band Protocols”). If the Packet Header is not used, then the bHeaderLength field must be set to 0. If the stream does not contain actual audio data, the bNrChannels, bmChannelConfig and iChannelNames in the class-specific AS Interface descriptor (See the USB Audio Device Class document) must all be set to 0. Table 2-7 Extended Type II Format Type Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 10 Universal Serial Bus Device Class Definition for Audio Data Formats Release 2.0 May 31, 2006 24 Offset Field Size Value Description 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant FORMAT_TYPE descriptor subtype. 3 bFormatType 1 Constant Ext_FORMAT_TYPE_II. Constant identifying the Format Type the AudioStreaming interface is using. 4 wMaxBitRate 2 Number Indicates the maximum number of bits per second this interface can handle. Expressed in kbits/s. 6 wSamplesPerFrame 2 Number Indicates the number of PCM audio samples contained in one encoded audio frame. 8 bHeaderLength 1 Number Size of the Packet Header, in bytes. 9 bSideBandProtocol 1 Constant Constant, identifying the Side Band Protocol used for the Packet Header content. 2.4.3 Extended Type III Formats Extended Audio Data Format Type III adds support for a Packet Header to the Simple Type III Format definition. The elements (Packet Header and audio data) of an Extended Type III packet are optional. The Extended Format Type III descriptor (see further) indicates which elements are present. It is therefore possible to provide only a Packet Header without audio data. The following figure further illustrates the concept. ここに画像 Figure 2-5 Extended Type III Format Each Virtual Frame Packet (VFP) can start with an optional Packet Header. If Packet Headers are used, they must be present in every VFP. The length of the Packet Header must be the same for every VFP. The Packet Header is then followed by the actual encoded audio frame data. 2.4.3.1 Extended Type III Format Type Descriptor The first part of the Extended Type III Format Type descriptor is identical to the Simple Type III Format Type descriptor (See Section 2.3.3.1, “Type III Format Type Descriptor”.) Two additional fields are added to describe the Packet Header. The bHeaderLength field indicates the number of bytes contained in the Packet Header. The bSideBandProtocol field contains a constant identifying the Side Band Protocol that is used for the Packet Header. This specification defines a number of Side Band Protocols (See Section 2.4.4, “Side Band Protocols”). Universal Serial Bus Device Class Definition for Audio Data Formats Release 2.0 May 31, 2006 25 If the Packet Header is not used, then the bHeaderLength field must be set to 0. If the stream does not contain actual audio data, the bNrChannels, bmChannelConfig and iChannelNames in the class-specific AS Interface descriptor (See the USB Audio Device Class document) must all be set to 0. Table 2-8 Extended Type III Format Type Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 8 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant FORMAT_TYPE descriptor subtype. 3 bFormatType 1 Constant EXT_FORMAT_TYPE_III. Constant identifying the Format Type the AudioStreaming interface is using. 4 bSubslotSize 1 Number The number of bytes occupied by one audio subslot. Must be set to two. 5 bBitResolution 1 Number The number of effectively used bits from the available bits in an audio subslot. 6 bHeaderLength 1 Number Size of the Packet Header, in bytes. 7 bSideBandProtocol 1 Constant Constant, identifying the Side Band Protocol used for the Packet Header content. 2.4.4 Side Band Protocols This specification currently defines a single Side Band Protocol. Additional Protocols can be added later if needed. 2.4.4.1 Presentation Timestamp Side Band Protocol The Presentation Timestamp protocol only uses the Packet Header to convey high resolution time information over the isochronous pipe. The Packet header is 12 bytes in size. It must occur at the start of each VFP. Bit D0 in the bmFlags field indicates whether this is a valid timestamp (D0 = 0b1) or a repeated or non-valid timestamp (D0 = 0b0). When D0 is set to zero, the time fields of the Packet Header must be ignored. The qNanoSeconds field indicates the time T at which the first sample in the VFP needs to be rendered with respect to the start of the stream (T = 0). The qNanoSeconds field can range from 0 to 263-1 ns (Bit 63 is considered to be a sign bit and must be set to zero). It is up to the entity that generates the timestamp to decide to which accuracy the timestamp will be rendered. Table 2-9 Hi-Res Presentation TimeStamp Layout Offset Field Size Value Description 0 bmFlags 4 Bitmap D30..0 Reserved. Must be set to 0.D31 Valid. 1 - 6 - 11 - 16 - 21 - 26 - 31 ここを編集
https://w.atwiki.jp/usb_audio/pages/40.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 56 Extension Unit is not available in this case because it is bypassed). Default behavior is assumed when set to off. In the case of a single Input Pin, logical channels that enter the Extension Unit are passed unaltered for those channels that are also present in the output cluster. Logical channels not available in the output cluster are absorbed by the Extension Unit. Logical channels present in the output cluster but unavailable in the input cluster are muted. In case of multiple Input Pins, corresponding logical input channels are equally mixed together before being passed to the output. An index to a string descriptor is provided to further describe the Extension Unit. The following table outlines the Extension Unit descriptor. Table 4-15 Extension Unit Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 13+p+n 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant EXTENSION_UNIT descriptor subtype. 3 bUnitID 1 Number Constant uniquely identifying the Unit within the audio function. This value is used in all requests to address this Unit. 4 wExtensionCode 2 Constant Vendor-specific code identifying the Extension Unit. 6 bNrInPins 1 Number Number of Input Pins of this Unit p 7 baSourceID(1) 1 Number ID of the Unit or Terminal to which the first Input Pin of this Extension Unit is connected. … … … … … 7+(p-1) baSourceID (p) 1 Number ID of the Unit or Terminal to which the last Input Pin of this Extension Unit is connected. 7+p bNrChannels 1 Number Number of logical output channels in the audio channel cluster of the Extension Unit. 7+p+1 wChannelConfig 2 Bitmap Describes the spatial location of the logical channels in the audio channel cluster of the Extension Unit. 7+p+3 iChannelNames 1 Index Index of a string descriptor, describing the name of the first logical channel in the audio channel cluster of the Extension Unit. 11+p bControlSize 1 Number Size, in bytes, of the bmControls field n USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 57 Offset Field Size Value Description 12+p bmControls n Bitmap A bit set to 1 indicates that the mentioned Control is supported D0 Enable Processing D1..(n*8-1) Reserved 12+p+n iExtension 1 Index Index of a string descriptor, describing this Extension Unit. 4.3.2.8 Associated Interface Descriptor The Associated Interface descriptor provides a means to indicate a relationship between a Terminal or a Unit and an interface, external to the audio function. It directly follows the Entity descriptor to which it is related. The bInterfaceNr field contains the interface number of the associated interface. The remainder of the descriptor depends both on the Entity to which it is related and on the interface class of the target interface. At this moment, no specific layouts are defined by this specification. The following table outlines the Associated Interface descriptor. Table 4-16 Associated Interfaces Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 4+x 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant ASSOC_INTERFACE descriptor subtype. 3 bInterfaceNr 1 Number The interface number of the associated interface. 4 Association-specific x Number Association-specific extension to the open-ended descriptor. 4.4 AudioControl Endpoint Descriptors The following sections describe all possible endpoint-related descriptors for the AudioControl interface. 4.4.1 AC Control Endpoint Descriptors 4.4.1.1 Standard AC Control Endpoint Descriptor Because endpoint 0 is used as the AudioControl control endpoint, there is no dedicated standard control endpoint descriptor. 4.4.1.2 Class-Specific AC Control Endpoint Descriptor There is no dedicated class-specific control endpoint descriptor. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 58 4.4.2 AC Interrupt Endpoint Descriptors 4.4.2.1 Standard AC Interrupt Endpoint Descriptor The interrupt endpoint descriptor is identical to the standard endpoint descriptor defined in Section 9.6.4, “Endpoint,” of the USB Specification and further expanded as defined in the Universal Serial Bus Class Specification. Its fields are set to reflect the interrupt type of the endpoint. This endpoint is optional. The following table outlines the standard AC Interrupt Endpoint descriptor. Table 4-17 Standard AC Interrupt Endpoint Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 9 1 bDescriptorType 1 Constant ENDPOINT descriptor type 2 bEndpointAddress 1 Endpoint The address of the endpoint on the USB device described by this descriptor. The address is encoded as follows D7 Direction. 1 = IN endpoint D6..4 Reserved, reset to zero D3..0 The endpoint number, determined by the designer. 3 bmAttributes 1 Bit Map D3..2 Synchronization type 00 = None D1..0 Transfer type 11 = Interrupt All other bits are reserved. 4 wMaxPacketSize 2 Number Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected. Used here to pass 2-byte status information. Set to 2 if not shared, set to the appropriate value if shared. 6 bInterval 1 Number Left to the designer’s discretion. A value of 10 ms or more seems sufficient. 7 bRefresh 1 Number Reset to 0. 8 bSynchAddress 1 Endpoint Reset to 0. 4.4.2.2 Class-Specific AC Interrupt Endpoint Descriptor There is no class-specific AudioControl interrupt endpoint descriptor. 4.5 AudioStreaming Interface Descriptors The AudioStreaming (AS) interface descriptors contain all relevant information to characterize the AudioStreaming interface in full. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 59 4.5.1 Standard AS Interface Descriptor The standard AS interface descriptor is identical to the standard interface descriptor defined in Section 9.6.3, “Interface,” of the USB Specification, except that some fields now have dedicated values. Table 4-18 Standard AS Interface Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 9 1 bDescriptorType 1 Constant INTERFACE descriptor type 2 bInterfaceNumber 1 Number Number of interface. A zero-based value identifying the index in the array of concurrent interfaces supported by this configuration. 3 bAlternateSetting 1 Number Value used to select an alternate setting for the interface identified in the prior field. 4 bNumEndpoints 1 Number Number of endpoints used by this interface (excluding endpoint 0). 5 bInterfaceClass 1 Class AUDIO Audio Interface Class code (assigned by the USB). See Section A.1, “Audio Interface Class Code.” 6 bInterfaceSubClass 1 Subclass AUDIO_STREAMING Audio Interface Subclass code. Assigned by this specification. See Section A.2, “Audio Interface Subclass Codes.” 7 bInterfaceProtocol 1 Protocol Not used. Must be set to 0. 8 iInterface 1 Index Index of a string descriptor that describes this interface. 4.5.2 Class-Specific AS Interface Descriptor The bTerminalLink field contains the unique Terminal ID of the Input or Output Terminal to which this interface is connected. The bDelay field holds a value that is a measure for the delay that is introduced in the audio data stream due to internal processing of the signal within the audio function. The Host software can take this value into account when phase relations between audio streams, processed by different audio functions, are important. The wFormatTag field holds information about the Audio Data Format that should be used when communicating with this interface. If the interface has a USB isochronous endpoint associated with it, the wFormatTag field describes the Audio Data Format that should be used when exchanging data with this endpoint. If the interface has no endpoint, the wFormatTag field describes the Audio Data Format that is used on the (external) connection this interface represents. This specification defines a number of standard Formats, ranging from Mono 8-bit PCM to MPEG2 7.1 encoded audio streams. A complete list of supported Audio Data Formats is provided in a separate document, USB Audio Data Formats, that is considered part of this specification. Further specific USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 60 information concerning the Audio Data Format for this interface is reported in a separate type-specific descriptor, see Section 4.5.3, “Class-Specific AS Format Type Descriptor.” This can optionally be supplemented by format-specific information through a format-specific descriptor, see Section 4.5.4, “Class-Specific AS Format-Specific Descriptor.” Table 4-19 Class-Specific AS Interface Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor in bytes 7 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant AS_GENERAL descriptor subtype. 3 bTerminalLink 1 Constant The Terminal ID of the Terminal to which the endpoint of this interface is connected. 4 bDelay 1 Number Delay (d) introduced by the data path (see Section 3.4, “Inter Channel Synchronization”). Expressed in number of frames. 5 wFormatTag 2 Number The Audio Data Format that has to be used to communicate with this interface. 4.5.3 Class-Specific AS Format Type Descriptor The wFormatTag field in the class-specific AS Interface Descriptor implicitly indicates which Format Type should be used to communicate with the connection (USB or external) this interface represents. (Each Audio Data Format belongs to a certain Format Type as outlined in USB Audio Data Formats.) Each Format Type has a specific Format Type descriptor associated with it. This class-specific AS Format Type descriptor follows the class-specific AS interface descriptor and delivers format type-specific information to the Host. The details and layout of this descriptor for each of the supported Format Types is found in USB Audio Data Formats. 4.5.4 Class-Specific AS Format-Specific Descriptor As stated earlier, the wFormatTag field in the class-specific AS Interface Descriptor not only describes to what Format Type the interface belongs. It also states exactly what Audio Data Format should be used to communicate with the connection (USB or external) this interface represents. Some Audio Data Formats need additional format-specific information conveyed to the Host. Therefore, the Format Type descriptor may be followed by a class-specific AS format-specific descriptor. The details and layout of this descriptor for the Audio Data Formats that need it, is outlined in USB Audio Data Formats. 4.6 AudioStreaming Endpoint Descriptors The following sections describe all possible endpoint-related descriptors for the AudioStreaming interface. 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/usb_audio/pages/38.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 46 Offset Field Size Value Description 7 baSourceID(1) 1 Number ID of the Unit or Terminal to which the first Input Pin of this Processing Unit is connected. … … … … … 7+(p-1) baSourceID (p) 1 Number ID of the Unit or Terminal to which the last Input Pin of this Processing Unit is connected. 7+p bNrChannels 1 Number Number of logical output channels in the audio channel cluster of the Processing Unit. 7+p+1 wChannelConfig 2 Bitmap Describes the spatial location of the logical channels in the audio channel cluster of the Processing Unit. 7+p+3 iChannelNames 1 Index Index of a string descriptor that describes the name of the first logical channel in the audio channel cluster of the Processing Unit. 11+p bControlSize 1 Number Size in bytes of the bmControls field n 12+p bmControls n Bitmap A bit set to 1 indicates that the mentioned Control is supported D0 Enable Processing.D1..(n*8-1) process-specific allocation. 12+p +n iProcessing 1 Index Index of a string descriptor, describing this Processing Unit. 13+p +n Process-specific x NA A process-specific descriptor is appended to the common descriptor. See the following paragraphs. 4.3.2.6.1 Up/Down-mix Processing Unit Descriptor The wProcessType field of the common Processing Unit descriptor contains the value UP/DOWNMIX_PROCESS. (See Appendix A.7, “Processing Unit Process Types”) The Up/Down-mix Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value 1. The bNrChannels, wChannelConfig, and iChannelNames fields together constitute the output cluster descriptor of the Up/Down-mix Processing Unit. It describes which logical channels are physically present at the output of the Processing Unit. Depending upon the selected operating mode, one or more channels may be unused. The bmControls field is a bitmap, indicating the availability of certain audio Controls in the Up/Downmix Processing Unit. For future expandability, the number of bytes occupied by the bmControls field is indicated in the bControlSize field. Bit D0 of the bmControls field represents the Enable Processing Control. The Mode Select Control (D1) is used to change the behavior of the Processing Unit by selecting different modes of operation. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 47 The process-specific descriptor of the Up/Down-mix Processing Unit describes the supported modes of operation of the Processing Unit. Selecting a mode of operation is done by issuing the Set Mode Request. The number of supported modes (m) is contained in the bNrModes field. This field is followed by an array of mode fields, waModes(). The index i into this array is one-based and directly related to the number of the mode described by entry waModes(i). It is the value i that must be used as a parameter for the Set Mode request to select the mode i. The bit allocations in the waModes() fields are very similar to those of the wChannelConfig field in a cluster descriptor (see Section 3.7.2.3, “Audio Channel Cluster Format”) i.e. a bit set in the waModes(i) field indicates that for mode i, the Up/Down-mix Processing Unit produces meaningful audio data for the logical channel that is associated with the position of the set bit. Logical channels that are present in the output cluster but are not used in a certain mode are considered to be inactive and at most produce silence in that mode. Each waModes(i) field can only contain set bits for those logical channels that are present in the output channel cluster. In other words, all waModes() fields can only contain a subset of the wChannelConfig field of the cluster descriptor of the Unit. Furthermore, logical channels that have a non-predefined spatial position can not be marked as active in the waModes() fields. It is therefore assumed by default that they are active. The following table outlines the combination of the common and process-specific Up/Down-mix Processing Unit descriptors. Table 4-9 Up/Down-mix Processing Unit Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 15+n+2*m 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant PROCESSING_UNIT descriptor subtype. 3 bUnitID 1 Number Constant uniquely identifying the Unit within the audio function. This value is used in all requests to address this Unit. 4 wProcessType 2 Constant UP/DOWNMIX_PROCESS process type. 6 bNrInPins 1 Number Number of Input Pins of this Unit 1 7 bSourceID 1 Number ID of the Unit or Terminal to which the Input Pin of this Processing Unit is connected. 8 bNrChannels 1 Number Number of logical output channels in the output channel cluster of the Processing Unit. 9 wChannelConfig 2 Bitmap Describes the spatial location of the logical channels in the output channel cluster of the Processing Unit. 11 iChannelNames 1 Index Index of a string descriptor, describing the name of the first logical channel in the Processing Unit’s output channel cluster. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 48 Offset Field Size Value Description 12 bControlSize 1 Number Size, in bytes, of the bmControls field n 13 bmControls n Bitmap A bit set to 1 indicates that the mentioned Control is supported D0 Enable Processing.D1 Mode Select.D2..(n*8-1) Reserved 13+n iProcessing 1 Index Index of a string descriptor, describing this Processing Unit. 14+n bNrModes 1 Number Number of modes, supported by this Processing Unit m 15+n waModes(1) 2 Bitmap Describes the active logical channels in mode 1. … … … … … 15+n+(m-1)*2 waModes(m) 2 Bitmap Describes active the logical channels in mode m. 4.3.2.6.2 Dolby Prologic Processing Unit Descriptor The wProcessType field of the common Processing Unit descriptor contains the value DOLBY_PROLOGIC_PROCESS. (See Appendix A.7, “Processing Unit Process Types”) The Dolby Prologic Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value 1. The bNrChannels, wChannelConfig, and iChannelNames fields together constitute the output cluster descriptor of the Dolby Prologic Processing Unit. It describes which logical channels are physically present at the output of the Processing Unit. Depending upon the selected operating mode, one or more channels may be unused. Bit D0 of the $b(){bmControls} field represents the Enable Processing Control. The Mode Select Control (D1) is used to change the behavior of the Processing Unit by selecting different modes of operation. Although the input cluster may contain a number of logical channels, the Dolby Prologic Processing Unit only uses Left and Right logical input channels as input for the decoding process. Obviously, these two logical channels must be present in the input cluster for the Unit to operate properly. All other logical channels are discarded. The output cluster may contain logical channels other than Left, Right, Center, and/or Surround (these must be present) to facilitate connectivity within the audio function. Channels that are present in the output cluster but do not participate in the chosen mode of operation must be muted. The process-specific descriptor of the Dolby Prologic Processing Unit describes the supported modes of operation of the Processing Unit. The number of supported modes (m) is contained in the bNrModes field. This field is followed by an array of mode fields, waModes(). The bit allocations in the waModes() fields are very similar to those of the wChannelConfig field in a cluster descriptor (see Section 3.7.2.3, “Audio Channel Cluster Format”) i.e., a bit set in the waModes(i) field indicates that for mode i, the Dolby Prologic Processing Unit produces meaningful audio data for the logical channel that is associated with the position of the set bit. The Dolby Prologic Processing Unit supports, at most, the following three different modes USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 49 · Left, Right, Center channel decoding waModes() = 0x0007 · Left, Right, Surround channel decoding waModes() = 0x0103 · Left, Right, Center, Surround decoding waModes() = 0x0107 The wChannelConfig field of the cluster descriptor of the Unit must at least contain the union of all bits set for all the supported modes. The following table outlines the combination of the common and process-specific Dolby Prologic Processing Unit descriptors. It is identical to the Up/Down-mix Processing Unit descriptor except for some field values. It is repeated here for clarity. Table 4-10 Dolby Prologic Processing Unit Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 15+n+2*m 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant PROCESSING_UNIT descriptor subtype. 3 bUnitID 1 Number Constant uniquely identifying the Unit within the audio function. This value is used in all requests to address this Unit. 4 wProcessType 2 Constant DOLBY_PROLOGIC_PROCESS process type. 6 bNrInPins 1 Number Number of Input Pins of this Unit 1 7 bSourceID 1 Number ID of the Unit or Terminal to which the Input Pin of this Processing Unit is connected. 8 bNrChannels 1 Number Number of logical output channels in the output channel cluster of the Processing Unit. 9 wChannelConfig 2 Bitmap Describes the spatial location of the logical channels in the Processing Unit’s output channel cluster. At least Left, Right, Center and/or Surround must be set. 11 iChannelNames 1 Index Index of a string descriptor, describing the name of the first logical channel in the Processing Unit’s output channel cluster. 12 bControlSize 1 Number Size, in bytes, of the bmControls field n 13 bmControls n Bitmap A bit set to 1 indicates that the mentioned Control is supported D0 Enable Processing.D1 Mode Select.D2..(n*8-1) Reserved USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 50 Offset Field Size Value Description 13+n iProcessing 1 Index Index of a string descriptor, describing this Processing Unit. 14+n bNrModes 1 Number Number of modes, supported by this Processing Unit mA maximum of 3 different modes is possible. 15+n waModes(1) 2 Bitmap Describes the active logical channels in mode 1. … … … … … 15+n+(m-1)*2 waModes(m) 2 Bitmap Describes active the logical channels in mode m. 4.3.2.6.3 3D-Stereo Extender Processing Unit Descriptor The wProcessType field of the common Processing Unit descriptor contains the value 3D-STEREO_EXTENDER_PROCESS. (See Section A.7, “Processing Unit Process Types”) The 3D-Stereo Extender Processing Unit has a single Input Pin. Therefore, the bNrInputs field must contain the value 1. The bNrChannels, wChannelConfig and iChannelNames fields together constitute the output cluster descriptor of the 3D-Stereo Extender Processing Unit. It describes which logical channels are physically present at the output of the Processing Unit. Bit D0 of the bmControls field represents the Enable Processing Control. Bit D1 indicates the availability of the Spaciousness Control. Although the input cluster may contain a number of logical channels, the 3D-Stereo Extender Processing Unit only uses Left and Right logical input channels as input for the extension process. Obviously, these two logical channels must be present in the input cluster for the Unit to operate properly. All other logical channels are discarded by the process. The output cluster may contain logical channels other than Left and Right (these must be present) to facilitate connectivity within the audio function. Channels that are present in the output cluster but not in the input cluster must be muted. Channels other than Left and Right that are present in both input and output cluster can be passed unaltered from input to output. Channels only present in the input cluster are absorbed by the Processing Unit. There is no process-specific descriptor for the 3D-Stereo Extender Processing Unit. The following table outlines the 3D-Stereo Extender Processing Unit descriptor. It is identical to the common Processing Unit descriptor, except for some field values. It is repeated here for clarity. Table 4-11 3D-Stereo Extender Processing Unit Descriptor Offset Field Size Value Description 0 bLength 1 Number Size of this descriptor, in bytes 14+n 1 bDescriptorType 1 Constant CS_INTERFACE descriptor type. 2 bDescriptorSubtype 1 Constant PROCESSING_UNIT descriptor subtype. 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/usb_audio/pages/16.html
原文:Audio Device Class Spec for Basic Audio Devices and Adopters Agreement(ZIP) このPDFだけロックがかかっててテキストが抽出できないのだがどうしたものか。まあ後回しだな。
https://w.atwiki.jp/usb_audio/pages/52.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 116 Offset Field Size Value Description 5 bDeviceSubClass 1 0x00 Unused. 6 bDeviceProtocol 1 0x00 Unused. 7 bMaxPacketSize0 1 0x08 8 bytes. 8 idVendor 2 0xXXXX Vendor ID. 10 idProduct 2 0xXXXX Product ID. 12 bcdDevice 2 0xXXXX Device Release Code. 14 iManufacturer 1 0x01 Index to string descriptor that contains the string Your Name in Unicode. 15 iProduct 1 0x02 Index to string descriptor that contains the string Your Product Name in Unicode. 16 iSerialNumber 1 0x00 Unused. 17 bNumConfiguration s 1 0x01 One configuration. C.3.2 Configuration Descriptor Table C-2 USB Telephone Configuration Descriptor Offset Field Size Value Description 0 bLength 1 0x09 Size of this descriptor, in bytes. 1 bDescriptorType 1 0x02 CONFIGURATION descriptor. 2 wTotalLength 2 0x00XX Length of the total configuration block, including this descriptor, in bytes. 4 bNumInterfaces 1 0x03 Three interfaces 5 bConfigurationValue 1 0x01 ID of this configuration 6 iConfiguration 1 0x00 Unused. 7 bmAttributes 1 0x60 Self Powered Remote Wakeup capable. 8 MaxPower 1 0x00 Not applicable. C.3.3 AudioControl Interface Descriptor The AudioControl interface describes the device structure and is used to manipulate the Audio Controls. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 117 C.3.3.1 Standard AC Interface Descriptor The AudioControl interface has no dedicated endpoints associated with it. It uses the default pipe (endpoint 0) for all communication purposes. Class-specific AudioControl Requests are sent using the default pipe. There is no Status Interrupt endpoint provided. Table C-3 USB Telephone Standard AC Interface Descriptor Offset Field Size Value Description 0 bLength 1 0x09 Size of this descriptor, in bytes. 1 bDescriptorType 1 0x04 INTERFACE descriptor. 2 bInterfaceNumber 1 0x00 Index of this interface. 3 bAlternateSetting 1 0x00 Index of this setting. 4 bNumEndpoints 1 0x00 0 endpoints. 5 bInterfaceClass 1 0x01 AUDIO. 6 bInterfaceSubclass 1 0x01 AUDIO_CONTROL. 7 bInterfaceProtocol 1 0x00 Unused. 8 iInterface 1 0x00 Unused. C.3.3.2 Class-specific Interface Descriptor The Class-specific AC interface descriptor is always headed by a Header descriptor that contains general information about the AudioControl interface. It contains all the pointers needed to describe the Audio Interface Collection, associated with the described audio function. Table C-4 USB Telephone Class-specific Interface Descriptor Offset Field Size Value Description 0 bLength 1 0x0A Size of this descriptor, in bytes. 1 bDescriptorType 1 0x24 CS_INTERFACE. 2 bDescriptorSubtype 1 0x01 HEADER subtype. 3 bcdADC 2 0x0100 Revision of class specification - 1.0 5 wTotalLength 2 0x0064 Total size of class specific descriptors. 7 bInCollection 1 0x02 Number of streaming interfaces 8 baInterfaceNr(1) 1 0x01 AudioStreaming interface 1 belongs to this AudioControl interface. 9 BaInterfaceNr(2) 1 0x02 AudioStreaming interface 2 belongs to this AudioControl interface. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 118 C.3.3.3 Input Terminal Descriptor (ID1) This descriptor describes the Input Terminal that represents the analog telephone line input. The audio channel cluster on the single Output Pin contains a single logical channel (bNrChannels=1) and there is no spatial location associated with this mono channel (wChannelConfig=0x0000). This is the input part of a bi-directional Terminal and therefore has an associated Output Terminal (ID4). Table C-5 USB Telephone Input Terminal Descriptor (ID1) Offset Field Size Value Description 0 bLength 1 0x0C Size of this descriptor, in bytes. 1 bDescriptorType 1 0x24 CS_INTERFACE. 2 bDescriptorSubtype 1 0x02 INPUT_TERMINAL subtype. 3 bTerminalID 1 0x01 ID of this Terminal. 4 wTerminalType 2 0x0501 Terminal is Phone Line In. 6 bAssocTerminal 1 0x04 Associated with Phone Line Out Terminal. 7 bNrChannels 1 0x01 One channel. 8 wChannelConfig 2 0x0000 Mono sets no position bits. 10 iChannelNames 1 0x00 Unused. 11 iTerminal 1 0x00 Unused. C.3.3.4 Input Terminal Descriptor (ID2) This descriptor describes the telephone handset input microphone. The audio channel cluster on the single Output Pin contains a single logical channel (bNrChannels=1) and there is no spatial location associated with this mono channel (wChannelConfig=0x0000). This is the input part of a bi-directional Terminal and therefore has an associated Output Terminal (ID5). Table C-6 USB Telephone Input Terminal Descriptor (ID2) Offset Field Size Value Description 0 bLength 1 0x0C Size of this descriptor, in bytes. 1 bDescriptorType 1 0x24 CS_INTERFACE. 2 bDescriptorSubtype 1 0x02 INPUT_TERMINAL subtype. 3 bTerminalID 1 0x02 ID of this Terminal. 4 wTerminalType 2 0x0401 Terminal is Handset In. 6 bAssocTerminal 1 0x05 Associated with Handset Out Terminal. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 119 Offset Field Size Value Description 7 bNrChannels 1 0x01 One channel. 8 wChannelConfig 2 0x0000 Mono sets no position bits. 10 iChannelNames 1 0x00 Unused. 11 iTerminal 1 0x04 Unused. C.3.3.5 Input Terminal Descriptor (ID3) This descriptor describes the USB stream from the Host to the telephone set. The audio channel cluster on the single Output Pin contains a single logical channel (bNrChannels=1) and there is no spatial location associated with this mono channel (wChannelConfig=0x0000). This is the input part of a bi-directional Terminal and therefore has an associated Output Terminal (ID6). Table C-7 USB Telephone Input Terminal Descriptor (ID3) Offset Field Size Value Description 0 bLength 1 0x0C Size of this descriptor, in bytes. 1 bDescriptorType 1 0x24 CS_INTERFACE. 2 bDescriptorSubtype 1 0x02 INPUT_TERMINAL subtype. 3 bTerminalID 1 0x03 ID of this Terminal. 4 wTerminalType 2 0x0101 Terminal is USB Streaming In. 6 bAssocTerminal 1 0x06 Associated with USB Streaming out Terminal. 7 bNrChannels 1 0x01 One channel. 8 wChannelConfig 2 0x0000 Mono sets no position bits. 10 iChannelNames 1 0x00 Unused. 11 iTerminal 1 0x05 Unused. C.3.3.6 Output Terminal Descriptor (ID4) This descriptor describes the Output Terminal that represents the analog telephone line output. The audio channel cluster on the single Input Pin contains a single logical channel. This is the output part of a bi-directional Terminal and therefore has an associated Input Terminal (ID1). Table C-8 USB Telephone Output Terminal Descriptor (ID4) Offset Field Size Value Description 0 bLength 1 0x09 Size of this descriptor, in bytes. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 120 Offset Field Size Value Description 1 bDescriptorType 1 0x24 CS_INTERFACE. 2 bDescriptorSubtype 1 0x03 OUTPUT_TERMINAL subtype. 3 bTerminalID 1 0x04 ID of this Terminal. 4 wTerminalType 2 0x0501 Terminal is Phone Line Out. 6 bAssocTerminal 1 0x01 Associated with Phone Line In Terminal. 7 bSourceID 1 0x07 From Phone Line Selector Unit. 8 iTerminal 1 0x06 Unused. C.3.3.7 Output Terminal Descriptor (ID5) This descriptor describes the telephone handset output earpiece. The audio channel cluster on the single Input Pin contains a single logical channel. This is the output part of a bi-directional Terminal and therefore has an associated Input Terminal (ID2). Table C-9 USB Telephone Output Terminal Descriptor (ID5) Offset Field Size Value Description 0 bLength 1 0x09 Size of this descriptor, in bytes. 1 bDescriptorType 1 0x24 CS_INTERFACE. 2 bDescriptorSubtype 1 0x03 OUTPUT_TERMINAL subtype. 3 bTerminalID 1 0x05 ID of this Terminal. 4 wTerminalType 2 0x0401 Terminal is Handset Out. 6 bAssocTerminal 1 0x01 Associated with Handset In Terminal. 7 bSourceID 1 0x08 From Handset Selector Unit. 8 iTerminal 1 0x00 Unused. C.3.3.8 Output Terminal Descriptor (ID6) This descriptor describes the USB stream from the telephone set to the Host. The audio channel cluster on the single Input Pin contains a single logical channel. This is the output part of a bi-directional Terminal and therefore has an associated Input Terminal (ID3). Table C-10 USB Telephone Output Terminal Descriptor (ID6) Offset Field Size Value Description 0 bLength 1 0x09 Size of this descriptor, in bytes. 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/usb_audio/pages/43.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 71 established in Section 4.3.2.3, “Mixer Unit Descriptor.” (ICN=u, OCN=v) If the request specifies an unknown ICN or OCN to that Unit, the control pipe must indicate a stall. For the Get Mixer Unit request, it is legal to address a non-programmable Mixer Control. A special case arises when the Input Channel Number and Output Channel Number are both set to 0xFF. Then a single Get Mixer Unit Control request can be used to retrieve an attribute setting of all the programmable Mixer Controls within the Unit. The ordering of the parameters in the parameter block obeys the same rules as established for the bit ordering in the bmControls field of the Mixer Unit Descriptor. The previous description is referred to as the second form of the Get Mixer Unit Control request. Another special case arises when the Input Channel Number and Output Channel Number are both set to 0x00. Then a single Get Mixer Unit Control request can be used to retrieve an attribute setting of all the Mixer Controls (both programmable and non-programmable) within the Unit. The ordering of the parameters in the parameter block obeys the same rules as established for the bit ordering in the bmControls field of the Mixer Unit Descriptor. The parameter block now contains a setting for every Mixer in the Mixer Unit. The above description is referred to as the third form of the Get Mixer Unit Control request. For a description of the parameter block for the Get Mixer Unit Control request, see Section 5.2.2.2.3, “Mixer Control.” 5.2.2.2.3 Mixer Control A Mixer Unit consists of a number of Mixer Controls, either programmable or fixed. A Mixer Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The settings for the CUR, MIN, and MAX attributes can range from +127.9961 dB (0x7FFF) down to -127.9961 dB (0x8001) in steps of 1/256 dB or 0.00390625 dB (0x0001). The range for the CUR attribute is extended by code 0x8000, representing silence, i.e., -¥ dB. The settings for the RES attribute can only take positive values and range from 1/256 dB (0x0001) to +127.9961 dB (0x7FFF). The Mixer Control honors the request to the best of its abilities. It may round the wMixer attribute value to its closest available setting. It will report this rounded setting when queried during a Get Mixer Unit Control request. In the first form of the Mixer Unit Control request, a particular Mixer Control within a Mixer Unit is addressed through the Unit ID, Input Channel Number, and Output Channel Number fields of the Set/Get Mixer Unit Control request. Table 5-8 First Form of the Mixer Control Parameter Block wLength 2 USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 72 Offset Field Size Value Description 0 wMixer 2 Number The setting for the attribute of the addressed Mixer Control 0x7FFF 127.9961 dB … 0x0100 1.0000 dB … 0x0002 0.0078 dB 0x0001 0.0039 dB 0x0000 0.0000 dB 0xFFFF -0.0039 dB 0xFFFE -0.0078 dB … 0xFE00 -1.0000 dB … 0x8002 -127.9922 dB 0x8001 -127.9961 dB 0x8000 -¥ dB (CUR attribute only) In the second form, the Input and Output Channel Number fields are both set to 0xFF. The parameter block contains a list of settings for an attribute of all programmable Mixer Controls in the Mixer Unit. Table 5-9 Second Form of the Mixer Control Parameter Block wLength (Number of programmable Controls NrPr)*2 Offset Field Size Value Description 0 wMixer(1) 2 Number The setting for the attribute of the first programmable Mixer Control. … … … … … (NrPr-1)*2 wMixer(NrPr) 2 Number The setting for the attribute of the last programmable Mixer Control. In the third form, the Input and Output Channel Number fields are both set to 0x00. The parameter block contains a list of settings for an attribute of all the Mixer Controls in the Mixer Unit. Table 5-10 Third Form of the Mixer Control Parameter Block wLength (Number of Controls NrCo)*2 Offset Field Size Value Description 0 wMixer(1) 2 Number The setting for the attribute of the first Mixer Control. … … … … … (NrCo-1)*2 wMixer(NrCo) 2 Number The mixer setting for the attribute of the last Mixer Control. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 73 5.2.2.3 Selector Unit Control Requests The following paragraphs describe the Set and Get Selector Unit Control requests. 5.2.2.3.1 Set Selector Unit Control Request This request is used to set an attribute of a Selector Control inside a Selector Unit of the audio function. Table 5-11 Set Selector Unit Control Request Values bmRequest Type bRequest wValue wIndex wLength Data 00100001B SET_CUR SET_MIN SET_MAX SET_RES Zero Selector Unit ID and Interface Length of parameter block Parameter block The bRequest field indicates which attribute the request is manipulating. The MIN, MAX, and RES attributes are usually not supported for the Set request. The wValue field is not used and must be set to zero (Because the Selector Unit only contains a single Control, there is no need for a Control Selector). For a description of the parameter block for the Set Selector Unit Control request, see Section 5.2.2.3.3, “Selector Control.” 5.2.2.3.2 Get Selector Unit Control Request This request returns the attribute setting of the Selector Control inside a Selector Unit of the audio function. Table 5-12 Get Selector Unit Control Request Values bmRequest Type bRequest wValue wIndex wLength Data 10100001B GET_CUR GET_MIN GET_MAX GET_RES Zero Selector Unit ID and Interface Length of parameter block Parameter block The bRequest field indicates which attribute the request is reading. The RES attribute is usually not supported and should return one if implemented. The wValue field is not used and must be set to zero. For a description of the parameter block for the Get Selector Unit Control request, see Section 5.2.2.3.3, “Selector Control.” 5.2.2.3.3 Selector Control A Selector Unit represents a multi-channel source selector, capable of selecting between a number of identically configured audio channel clusters. The valid range for the CUR, MIN, and MAX attributes is from one up to the number of Input Pins of the Selector Unit. This value can be found in the bNrInPins field of the Selector Unit descriptor. The RES attribute can only have a value of one. The Selector Control honors the request to the best of its abilities. It may round the bSelector attribute value to its closest USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 74 available setting. It will report this rounded setting when queried during a Get Selector Unit Control request. Table 5-13 Selector Control Parameter Block wLength 1 Offset Field Size Value Description 0 bSelector 1 Number The setting for the attribute of the Selector Control. 5.2.2.4 Feature Unit Control Requests The following paragraphs describe the Set and Get Feature Unit Control requests. These Feature Unit Control requests can have two forms. The first form must be supported while the second form can be optionally implemented. 5.2.2.4.1 Set Feature Unit Control Request This request is used to set an attribute of an audio Control inside a Feature Unit of the audio function. Table 5-14 Set Feature Unit Control Request Values bmRequest Type bRequest wValue wIndex wLength Data 00100001B SET_CUR SET_MIN SET_MAX SET_RES CS and CN Feature Unit ID and Interface Length of parameter block Parameter block The bRequest field indicates which attribute the request is manipulating. The MIN, MAX, and RES attributes are usually not supported for the Set request. Further details on which attributes are supported for which Controls can be found in Section 5.2.2.4.3, “Feature Unit Controls.” The wValue field specifies the Control Selector (CS) in the high byte and the Channel Number (CN) in the low byte. The Control Selector indicates which type of Control this request is manipulating. (Volume, Mute, etc.) The Channel Number (CN) indicates which logical channel of the cluster is to be influenced. If the request specifies an unknown or unsupported CS or CN to that Unit, the control pipe must indicate a stall. A special case arises when the Channel Number is set to 0xFF. Then a single Set Feature Unit Control request can be used to set an attribute of all available Controls of a certain type (indicated by the CS) within the Unit. The number of parameters passed in the parameter block must exactly match the number of available Controls in the Unit (as indicated by the number of bits set in the bmaProps() array for a certain Control). If this is not the case, the control pipe must indicate a stall. The first parameter in the parameter block is assigned to the attribute of the first available Control, i.e. the one with the lowest Channel Number (including Channel Number 0, the master channel). The above description is referred to as the second form of the Set Feature Unit Control request. For a description of the parameter blocks for the different Controls that can be addressed through the Set Feature Unit Control request, see Section 5.2.2.4.3, “Feature Unit Controls.” USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 75 5.2.2.4.2 Get Feature Unit Control Request This request returns the attribute setting of a specific audio Control inside a Feature Unit of the audio function. Table 5-15 Get Feature Unit Control Request Values bmRequest Type bRequest wValue wIndex wLength Data 10100001B GET_CUR GET_MIN GET_MAX GET_RES CS and CN Feature Unit ID and Interface Length of parameter block Parameter block The bRequest field indicates which attribute the request is reading. The wValue field specifies the Control Selector (CS) in the high byte and the Channel Number (CN) in the low byte. The Control Selector indicates which type of Control this request is addressing. (Volume, Mute, etc.) The Channel Number (CN) indicates which logical channel of the cluster is to be addressed. If the request specifies an unknown or unsupported CS or CN to that Unit, the control pipe must indicate a stall. A special case arises when the Channel Number is set to 0xFF. Then a single Get Feature Unit Control request can be used to retrieve the settings of an attribute of all available Controls of a certain type (indicated by the CS) within the Unit. The first parameter returned in the parameter block corresponds to the attribute of the first available Control, i.e. the one with the lowest Channel Number (including Channel Number 0, the master channel). The above description is referred to as the second form of the Get Feature Unit Control request. For a description of the parameter blocks for the different Controls that can be addressed through the Get Feature Unit Control request, see Section 5.2.2.4.3, “Feature Unit Controls.” 5.2.2.4.3 Feature Unit Controls The following paragraphs present a detailed description of all possible Controls a Feature Unit can incorporate. For each Control, the layout of the parameter block together with the appropriate Control Selector is listed for all forms of the Get/Set Feature Unit Control request. The Control Selector codes are defined in Section A.10.2, “Feature Unit Control Selectors.” 5.2.2.4.3.1 Mute Control The Mute Control is one of the building blocks of a Feature Unit. A Mute Control can have only the current setting attribute (CUR). The position of a Mute Control CUR attribute can be either TRUE or FALSE. In the first form of the request, a particular Mute Control within a Feature Unit is addressed through the Unit ID and Channel Number fields of the Set/Get Feature Unit Control request. The valid range for the Channel Number field is from zero (the ‘master’ channel) up to the number of logical channels in the audio channel cluster. Table 5-16 First Form of the Mute Control Parameter Block Control Selector MUTE_CONTROL wLength 1 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/usb_audio/pages/46.html
原文:Audio Device Document 1.0(PDF) USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 86 5.2.2.5.1 Set Processing Unit Control Request This request is used to set an attribute of an audio Control inside a Processing Unit of the audio function. Table 5-36 Set Processing Unit Control Request Values bmRequest Type bRequest wValue wIndex wLength Data 00100001B SET_CUR SET_MIN SET_MAX SET_RES CS Processing Unit ID and Interface Length of parameter block Parameter block The bRequest field indicates which attribute the request is manipulating. The MIN, MAX, and RES attributes are usually not supported for the Set request. The wValue field specifies the Control Selector (CS) in the high byte and zero in the low byte. The Control Selector indicates which type of Control this request is manipulating (Enable Processing, Mode Select, etc.) If the request specifies an unknown or unsupported CS to that Processing Unit, the control pipe must indicate a stall. For a description of the parameter block for the Processing Unit Controls, see Section 5.2.2.5.3, “Processing Unit Controls.” 5.2.2.5.2 Get Processing Unit Control Request This request returns the attribute setting of a specific audio Control inside a Processing Unit of the audio function. Table 5-37 Get Processing Unit Control Request Values bmRequest Type bRequest wValue wIndex wLength Data 10100001B GET_CUR GET_MIN GET_MAX GET_RES CS Unit ID and Interface Length of parameter block Parameter block The bRequest field indicates which attribute the request is reading. The wValue field specifies the Control Selector (CS) in the high byte and zero in the low byte. The Control Selector indicates which type of Control this request is addressing. (Enable Processing, Mode Select, etc.) If the request specifies an unknown or unsupported CS to that Unit, the control pipe must indicate a stall. For a description of the parameter block for the Processing Unit Controls, see Section 5.2.2.5.3, “Processing Unit Controls.” 5.2.2.5.3 Processing Unit Controls Processing Unit Controls are in principle specific to the type of process a Processing Unit implements. However, instead of specifying all supported Controls on a per process basis, it was considered more efficient to create a ‘pool’ of possible Controls. In this way, Controls that occur in different Processing Units need only be specified once. However, the Control Selector Codes and the bit positions in the bmControls field of the Processing Unit descriptor are assigned on a per-process type basis. Issuing nonsupported Control Selectors to a Processing Unit leads to a control pipe stall. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 87 The following paragraphs present a detailed description of all possible Controls a Processing Unit can incorporate. For each Control, the layout of the parameter block together with the appropriate Control Selector is listed for all forms of the Get/Set Processing Unit Control request. The Control Selector codes are defined in Section A.10.3, “Processing Unit Control Selectors.” 5.2.2.5.3.1 Enable Processing Control The Enable Processing Control is used to either enable the functionality of the Processing Unit or bypass the Processing Unit entirely. In the latter case, default behavior is assumed. Enable Processing Control can have only the current setting attribute (CUR). The position of an Enable Processing switch can be either TRUE or FALSE. The current setting of the Control can be queried using a Get Processing Unit Control request. Table 5-38 Enable Processing Control Parameter Block Control Selector XX_ENABLE_CONTROL wLength 1 Offset Field Size Value Description 0 bEnable 1 Bool The setting for the Enable Processing Control CUR attribute. Enabled when TRUE, disabled when FALSE. 5.2.2.5.3.2 Mode Select Control The Mode Select Control is used to change the behavior of the Processing Unit. A Mode Select Control can support all possible Control attributes (CUR, MIN, MAX, and RES).The valid range for the CUR, MIN, and MAX attributes is from one to the number of modes, supported by the Processing Unit (reported through the bNrModes field of the Processing Unit descriptor). The RES attribute can only have a value of one. The Mode Select Control honors the request to the best of its abilities. It may round the bMode attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. Table 5-39 Mode Select Control Parameter Block Control Selector XX_MODE_SELECT_CONTROL wLength 1 Offset Field Size Value Description 0 bMode 1 Number The setting for the attribute of the Mode Select Control. 5.2.2.5.3.3 Spaciousness Control The Spaciousness Control is used to change the spatial appearance of the stereo image, produced by the 3D-Stereo Extender Processing Unit. The Spaciousness Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The valid range for the CUR, MIN, MAX, and RES attributes is from zero to 255%. The Spaciousness Control honors the request to the best of its abilities. It may round the bSpaciousness attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 88 Table 5-40 Spaciousness Control Parameter Block Control Selector SPACIOUSNESS_CONTROL wLength 1 Offset Field Size Value Description 0 bSpaciousness 1 Number The setting for the attribute of the Spaciousness Control. 5.2.2.5.3.4 Reverb Type Control The Reverb Type Control is a macro parameter that allows global settings of reverb parameters within the Reverberation Processing Unit. When a certain Reverb Type is selected, each reverb parameter will be set to the most suitable value. The Reverb Type Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The valid range for the CUR, MIN, and MAX attributes is from zero to 255. The RES attribute can only have a value of one. The CUR attribute subrange from 0 to 7 has predefined behavior · 0 Room 1 – simulates the reverberation of a small room. · 1 Room 2 – simulates the reverberation of a medium room. · 2 Room 3 – simulates the reverberation of a large room. · 3 Hall 1 – simulates the reverberation of a medium concert hall. · 4 Hall 2 – simulates the reverberation of a large concert hall. · 5 Plate – simulates a plate reverberation (a studio device using a metal plate). · 6 Delay – conventional delay that produces echo effects. · 7 Panning Delay – special delay in which the delayed sounds move left and right. The Reverb Type Control honors the request to the best of its abilities. It may round the bReverbType attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. Table 5-41 Reverb Type Control Parameter Block Control Selector REVERB_TYPE_CONTROL wLength 1 Offset Field Size Value Description 0 bReverbType 1 Number The setting for the attribute of the Reverb Type Control. 5.2.2.5.3.5 Reverb Level Control The Reverb Level Control is used to set the amount of reverberant sound introduced by the Reverberation Processing Unit. The Reverb Level Control can support all possible Control attributes (CUR, MIN, MAX ,and RES). The valid range for the CUR, MIN, MAX, and RES attributes is from zero to 255%, compared to the level of the original signal. The Reverb Level Control honors the request to the best of its abilities. It may round the bReverbLevel attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 89 Table 5-42 Reverb Level Control Parameter Block Control Selector REVERB_LEVEL_CONTROL wLength 1 Offset Field Size Value Description 0 bReverbLevel 1 Number The setting for the attribute of the Reverb Level Control. 5.2.2.5.3.6 Reverb Time Control The Reverb Time Control is used to set the time over which the reverberation, introduced by the Reverberation Processing Unit, will continue. The Reverb Time Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The settings for the CUR, MIN, MAX, and RES attributes can range from zero (0x0000) to 255.9961 s (0xFFFF) in steps of 1/256 s or 0.00390625 s (0x0001). The Reverb Time Control honors the request to the best of its abilities. It may round the wReverbTime attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. Table 5-43 Spaciousness Control Parameter Block Control Selector REVERB_TIME_CONTROL wLength 2 Offset Field Size Value Description 0 wReverbTime 2 Number The setting for the attribute of the Reverb Time Control. 5.2.2.5.3.7 Reverb Delay Feedback Control The Reverb Delay Feedback Control is used when the Reverb Type is set to Reverb Type 6, Delay or Reverb Type 7, Panning Delay. It sets the way in which delay repeats. The Reverb Delay Feedback Control range can support all possible Control attributes (CUR, MIN, MAX, and RES). The valid range for the CUR, MIN, MAX, and RES attributes is from zero to 255%. Higher values result in more delay repeats. Note In practice, the delay feedback amount should be limited to 75% to avoid unexpected feedback distortion and continuous delay loop. The Reverb Delay Feedback Control honors the request to the best of its abilities. It may round the bReverbFeedback attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. Table 5-44 Reverb Delay Feedback Control Parameter Block Control Selector REVERB_FEEDBACK_CONTROL wLength 1 USB Device Class Definition for Audio Devices Release 1.0 March 18, 1998 90 Offset Field Size Value Description 0 bReverbFeedback 1 Number The setting for the attribute of the Reverb Delay Feedback Control. 5.2.2.5.3.8 Chorus Level Control The Chorus Level Control is used to set the amount of chorus effect sound introduced by the Chorus Processing Unit. The Chorus Level Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The valid range for the CUR, MIN, MAX, and RES attributes is from zero to 255%, compared to the level of the original signal. The Chorus Level Control honors the request to the best of its abilities. It may round the bChorusLevel attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. Table 5-45 Chorus Level Control Parameter Block Control Selector CHORUS_LEVEL_CONTROL wLength 1 Offset Field Size Value Description 0 bChorusLevel 1 Number The setting for the attribute of the Chorus Level Control. 5.2.2.5.3.9 Chorus Modulation Rate Control The Chorus Modulation Rate Control is used to set the speed (frequency) of the modulator of the chorus, introduced by the Chorus Processing Unit. Higher values result in faster modulation. The Chorus Modulation Rate Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The settings for the CUR, MIN, MAX, and RES attributes can range from zero (0x0000) to 255.9961 Hz (0xFFFF) in steps of 1/256 Hz or 0.00390625 Hz (0x0001). The Chorus Modulation Rate Control honors the request to the best of its abilities. It may round the wChorusRate attribute value to its closest available setting. It will report this rounded setting when queried during a Get Processing Unit Control request. Table 5-46 Chorus Modulation Rate Control Parameter Block Control Selector CHORUS_RATE_CONTROL wLength 2 Offset Field Size Value Description 0 wChorusRate 2 Number The setting for the attribute of the Chorus Modulation Rate Control. 5.2.2.5.3.10 Chorus Modulation Depth Control The Chorus Modulation Depth Control is used to set the depth at which the chorus sound introduced by the Chorus Processing Unit, is modulated. Higher values result in deeper modulation. The Chorus Modulation Depth Control can support all possible Control attributes (CUR, MIN, MAX, and RES). The settings for the CUR, MIN, MAX, and RES attributes can range from zero (0x0000) to 255.9961 ms (0xFFFF) in steps of 1/256 ms or 0.00390625 ms (0x0001). The Chorus Modulation Depth Control honors the request to the best of its abilities. It may round the wChorusDepth attribute value to its closest 1 - 6 - 11 - 16 - 21 - 26 - 31 - 36 - 41 - 46 - 51 - 56 - 61 - 66 - 71 - 76 - 81 - 86 - 91 - 96 - 101 - 106 - 111 - 116 - 121 - 126 ここを編集
https://w.atwiki.jp/toho/pages/6397.html
DiGiTAL WiNG DiGITAL WiNG Angel Time Eternal Fantasia JULIANA’S TOHO Vol.1 Frozen Traveler JULIANA’S TOHO Vol.2 RAVER’S NEST presents DJ katsu CLUB MIX? BEST OF WiNG? RAVER’S NEST 1 TOHO RAVE PARTY RAVER’S NEST 2 TOHO RAVE PARTY RAVER’S NEST presents DJ katsu & DJ ELEMENTAS BEST MIX? デジウィ LEGEND? デジウィ DREAM? RAVER’S NEST 3 TOHO RAVE PARTY デジウィ FUTURE? RAVER S NEST BEST 2014 TOHO HYPER RAVE? デジウィ BEST デジウィ iMPACT RAVER S NEST 4 TOHO RAVE PARTY? ENDLESS Of Paranoia? デジウィ MiRACLE RAVER S NEST 5 TOHO RAVE PARTY デジウィ CONTEND Taste me up! デジウィ SHiNiNG RAVER S NEST 6 TOHO RAVE PARTY デジウィ BEST 2016? RAVER S NEST 7 TOHO RAVE PARTY デジウィ DELiGHT DiGiTAL FLOWER BEST デジウィ PARTY RAVER S NEST BEST 2017 TOHO HYPER RAVE? デジウィ GENERATiON RAVER S NEST 8 TOHO RAVE PARTY Flapping note -Hello My Name Is Sorane-? デジウィ NEXT? HIGH SPEED BEST OF RAVER S NEST Vol.1? デジウィ BEST 2018 RAVER S NEST 9 TOHO RAVE PARTY? TOHO DANCE ANTHEM Vol.1? デジウィ SUNLiGHT? TOHO DANCE ANTHEM Vol.2? EPISODE -BEST Selection for Domino Amayadori-? デジウィ EVOLUTiON? TOHO DANCE ANTHEM Vol.3? HIGH SPEED BEST OF RAVER S NEST Vol.2? RAVER S NEST 10 TOHO RAVE PARTY? Paranoia THE BEST -7th anniversary-? BEST FESTIVAL OF TOHO DANCE ANTHEM 1st PARTY? 合同企画CD(DiGiTAL WiNG+Halozy) デジハロ NEXUS デジハロ PRIDE 合同企画CD(DiGiTAL WiNG+Alstroemeria Records) NON-STOP INTERCEPT phase one? NON-STOP INTERSEPT phase two?